package com.ethink.order.service;

import com.ethink.order.api.info.JkyTradeLogInfo;
import com.ethink.order.api.request.JkyTradeLogAddRequest;
import com.ethink.order.api.request.JkyTradeLogUpdateCkFlagRequest;
import com.ethink.order.api.request.JkyTradeLogUpdateErrorRequest;
import com.ethink.order.api.request.JkyTradeLogUpdateRequest;
import com.ethink.order.api.response.JkyTradeLogAddResponse;
import com.ethink.order.api.response.JkyTradeLogGetDetailResponse;

/**
 * 吉客云销售单 Service接口
 *
 * @author default
 * @date 2022-11-25
 */
public interface JkyTradeLogService {


    /**
     * 根据吉客云订单编号查询详情
     *
     * @param tradeNo
     * @return
     */
    JkyTradeLogInfo getJkyTradeLogByTradeNo(String tradeNo);

    /**
     * 查询最后吉客云最后修改时间详情
     *
     * @return
     */
    JkyTradeLogInfo lastGmtModifiedJkyTradeLog();

    /**
     * 查询最后吉客云最后发货时间详情
     *
     * @return
     */
    JkyTradeLogInfo lastConsignTimeJkyTradeLog();

    /**
     * 查询TOP1待处理详情
     *
     * @return
     */
    JkyTradeLogGetDetailResponse topOneProcessingJkyTradeLog();

    /**
     * 新增
     *
     * @param request
     * @return
     */
    JkyTradeLogAddResponse addJkyTradeLog(JkyTradeLogAddRequest request);

    /**
     * 修改
     *
     * @param request
     * @return
     */
    void updateJkyTradeLog(JkyTradeLogUpdateRequest request);

    /**
     * 修改出库状态
     *
     * @param request
     * @return
     */
    void updateJkyTradeLogCkFlag(JkyTradeLogUpdateCkFlagRequest request);

    /**
     * 修改错误消息
     *
     * @param request
     */
    void updateJkyTradeLogError(JkyTradeLogUpdateErrorRequest request);


}